package com.tedu.api.io;

import org.junit.jupiter.api.Test;
import java.io.File;
import java.io.FileFilter;

/**
 * 作业1：listFiles(FileFilter接口)，使用实现类方式
 *                                 使用匿名内部类方式
 *                提示：创建一词对象，使用匿名内部类
 *                语法： 接口  接口引用=new  接口(){重点：accept};
 *  作业2：删除 demo下有 abc 以及 bcd 的文件
 *  提示：demo/abc/bcd
 *       查File构造器方法：从内部依次删除
 *       new File(parent,"路径“);  ---API介绍
 *       构造器：第一个参数：指定父级路径---确定不变---建议：使用传两个参数方法
 *              第二个参数，指定子级路径
 *
 */
public class HomeWork {
    @Test  //作业2
    public void testDelete() {
        //demo/abc/bcd/demo.txt
        String parent = "demo" + File.separator;
        //abc/bcd/demo.txt  第一个子集：demo.txt
        String child1 = "abc" + File.separator + "bcd" +
                "" + File.separator + "demo.txt";
        String child2 = "bcd" + File.separator + "bcd";
        String child3 = "abc";
        //创建4次File对象
        File file = new File(parent, child1);
        file.delete();
        File file2 = new File(parent, child2); //删除bcd文件夹
        file2.delete();
        File file3 = new File(parent, child3);//删除abc
        file3.delete();
        File file4 = new File(parent);
        file4.delete();
        //System.out.println("验证~~~");

        //System.out.println("删除成功~");


    }
    interface homework {
        HomeWork hw = new HomeWork();
        String name = "homework";
        public static void main(String[] args) {
            hw.getClass();
            System.out.println("结果为：" + name);
        }
    }
    class homework1 implements homework {
        String name = "作业";
        public void homework1() {
            System.out.println("匿名内部类");
        }
    }
    //10.14作业
    @Test
    public static void main(String[] args) {  //使用匿名内部类
        File w=new File(".");
        FileFilter ff=new FileFilter(){ //创建接口
            //生成
            @Override
            public boolean accept(File pathname) {
                String name= pathname.getName();
                System.out.println("结果是"+name);
                return name.startsWith("1");
            }
        };
        File[] QAQ=w.listFiles(ff);
        for (int i=0;i< QAQ.length;){
            System.out.println(""+QAQ[i].getName());
        }
    }
}

